home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 April
/
EnigmA AMIGA RUN 17 (1997)(G.R. Edizioni)(IT)[!][issue 1997-04][EAR-CD].iso
/
EARCD
/
gfx
/
board
/
rtgmv13.lha
/
goodies
/
rtggadgets
/
GadgetDemo.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-06-28
|
4KB
|
133 lines
#include "global.h"
#include "RTGGadgets.h"
struct RTGMasterBase *RTGMasterBase;
struct RtgScreen *RtgScreen;
struct ScreenReq *sr;
extern struct UtilityBase *UtilityBase;
extern struct Library *DOSBase;
struct TagItem gtag[] = {
grd_BytesPerRow, 0, // 0
grd_Width, 0, // 1
grd_Height, 0, // 2
grd_Depth, 0, // 3
grd_PixelLayout, 0, // 4
grd_ColorSpace, 0, // 5
grd_PlaneSize, 0, // 6
grd_BusSystem, 0, // 7
TAG_DONE, 0
};
struct TagItem rtag[] = {
smr_MinWidth, 320,
smr_MinHeight, 200,
smr_MaxWidth, 800,
smr_MaxHeight, 600,
smr_ChunkySupport, -1,
smr_PlanarSupport, -1,
smr_Buffers, 2,
smr_PrefsFileName, (ULONG)"RTGGadgetDemo.prefs",
TAG_DONE, NULL
};
struct TagItem tacks[] = {
TAG_DONE,0
};
void CloseAll(void) {
if (RTGMasterBase) CloseLibrary((struct Library *)RTGMasterBase);
RTGGCloseInput();
}
void OpenAll(void) {
RTGMasterBase = (struct RTGMasterBase *)OpenLibrary("rtgmaster.library",0L);
if (!RTGMasterBase) {
printf("You need RTG Library to run this game\n");
exit(0);
}
if (!RTGGOpenInput()) {
printf("No input device present. You couldn`t have started this game. Strange\n");
CloseAll();
exit(0);
}
}
void main() {
struct RTGGList *list;
int i;
OpenAll();
sr = RtgScreenModeReq(rtag);
if (sr) {
RtgScreen = OpenRtgScreen(sr, tacks);
if (RtgScreen) {
LockRtgScreen(RtgScreen);
GetRtgScreenData(RtgScreen, gtag);
list = CreateRTGGList(RtgScreen, 0);
printf("Gadget list: %x\n", 0);
i = CreateRTGGadget(list, 1, RGADT_LeftEdge, 20,
RGADT_TopEdge, 20,
RGADT_Width, 130,
RGADT_Height, 30,
RGADT_Flags, RGADF_HITHILITE,
RGADT_HitPen, 1,
RGADT_UpPen, 2,
RGADT_DownPen, 3,
RGADT_Key, 'p',
TAG_DONE);
printf("Created Gadget id :%d\n", i);
i = CreateRTGGadget(list, 2, RGADT_LeftEdge, 20,
RGADT_TopEdge, 60,
RGADT_Width, 130,
RGADT_Height, 30,
RGADT_Flags, RGADF_HITHILITE,
RGADT_HitPen, 1,
RGADT_UpPen, 2,
RGADT_DownPen, 3,
RGADT_Key, 'q',
TAG_DONE);
printf("Created Gadget id :%d\n", i);
RTGGAddIPH();
DrawRTGGList(list);
while (1) {
RefreshRTGGList(list);
if (list->gl_Selected) {
if (list->gl_Selected->rg_ID == 1) {
printf("Ouch, that hurt\n");
list->gl_Selected = NULL;
}
if (list->gl_Selected->rg_ID == 2) {
break;
}
}
}
if (DeleteRTGGList(list, TRUE)) {
printf("List deleted\n");
} else {
printf("List not deleted\n");
}
RTGGRemIPH();
UnlockRtgScreen(RtgScreen);
CloseRtgScreen(RtgScreen);
}
}
}